/*
Abstract:
  Source file parsing functionality declaration

Last changed:
  $Id: parser.h 67 2009-04-13 08:26:23Z vitamin.caig $

Author:
  (C) Vitamin/CAIG/2001

  This file is the part of Textator project
*/
#ifndef __PARSER_H_DEFINED__
#define __PARSER_H_DEFINED__

#include <structures.h>

namespace IO
{
  class SourceDataProvider;
}

namespace Parser
{
  struct Parameters
  {
    StringArray Keys;
  };

  //throw Error
  // name => value
  void Parse(IO::SourceDataProvider& prov, const Parameters& params, EntriesMap& result);
  void Unparse(const EntriesMap& data, const Parameters& params, OutStream& str);
}

#endif //__PARSER_H_DEFINED__
